Chrono Trigger - Hacking Default Player Names

Hacking Tutorial by Mr.Shawe



Requirements


• Temporal Flux v3.01
• Chrono Trigger U.S. ROM
• Emulator (BSNES or ZSNES)


Why write this tutorial?


I was curious about how to change the default names in Chrono Trigger but couldn't find the information about this anywhere online, so I went ahead and figured it out for myself. There seems to be very few tutorials for Chrono Trigger hacking and little information about the tool Temporal Flux, so I may produce more of these short hacking tutorials as I learn some more about them both.


I have only been playing around with Temporal Flux for a few days but already, I like it a lot. There is much to learn, but I think anyone can use Temporal Flux efficiently once they become familiar with how it works.


How to hack the names


Encoded data for player names is at 0x1B006E in the ROM image. After passing the title screen, this string is copied into working memory, for use in the game. I used Geiger's SNES9X Debugger to change working RAM locations for player names, by testing different bytes I managed to create a table of all allowed characters available for player names in the game.


Here is what the default character string looks like:

A2CBC8C7C800ACBACBC5BE00ABCEBCBCBA00B1C8BBC80000A5CBC8C00000A0D2C5BA0000ACBAC0CECC00A4C9C8BCC100


I grabbed this from Temporal Flux in the event editor for location {000} (which is the initial loading screen). It is 48 bytes in length.



When you click Mem.PCNames, you'll see the Data field on the left side. If you copy this string and paste it into a text editor, you can reform it to change all the default names. Once you have made the changes you need to paste it back into the Data field and press the Update button, then press the Write Mem. button to apply the changes to the currently opened ROM. Save afterwards as normal and run in an emulator to see if the modifications were successful (when you're asked to name a player or references in the story dialogue).


I'm not sure whether it matters if you leave spaces in this string, but with hacking it's generally best to replace the exact amount of bytes which are stored in the ROM. Failing to follow this simple rule often leads to unexpected problems like crashing or over-written data.


Character key codes


There is a limit of 5 characters and one end byte, which is 00. here is a list of character codes, based on the ones in the naming screen.



Click here to see this in plain text


Quick example


With this information, it is simple to change the names. Here is a breakdown of the full name string:



Click here to see this in plain text


Here is an example replacement string:




Click here to see this in plain text



When you paste it all together, it looks like this:

A1C8BBBBD200AABACDC2BE00A1BECDCDD200ACBAD1000000B3C8BABD0000B2BACBBAC100A3BEC6C8C700B2C1C2C90000


Proof this works


  
  


That's it!


As you can see, I have tested this briefly and it seemed to work OK......... Hopefully, this information is useful to someone!